package com.probiz.estore.imports.service;

import java.util.List;

import com.probiz.estore.imports.model.ImportInfo;
import com.probiz.estore.imports.model.ImportMappingConfig;

public interface BaseImportManager {
	/**
	 * 返回当前配置
	 * @return
	 */
	public ImportMappingConfig getImportConfig();
	/**
	 * spring 注入
	 * @param importConfig
	 */
	public void setImportConfig(ImportMappingConfig importConfig);
	/**
	 * 返回当前导入状态
	 * @return
	 */
	public ImportInfo getImportInfo();
	
	/**
	 * 计算csv文件的行数
	 * @param file CSV文件（路径+文件名）
	 * @param encoding 编码
	 * @return 行数
	 */
	public Integer countFileRowSize(String file,String encoding);
	/**
	 * 预览csv文件
	 * @param file CSV文件（路径+文件名）
	 * @param encoding 编码
	 * @return
	 */
	public List<List<String>> preview(String file,String encoding);
	/**
	 * 开始导入文件
	 * @param file CSV文件（路径+文件名）
	 * @param encoding 编码
	 */
	public void startImport(String file,String encoding, Integer appUserId);
	/**
	 * 停止导入文件
	 */
	public void stopImport();
	/**
	 * 挂起当前导入
	 */
	public void suspendImport();
	/**
	 * 继续当前导入
	 */
	public void resumeImport();
	
	/**
	 * 新任务
	 */
	public void newTask();
	
	
}
 